There is an increasing need to process real-time market data electronically for multiple purposes, such as, for example, determining prices of securities, placing orders for the purchase or sale of securities automatically, and for measuring risk within a portfolio of securities. Typically, such software applications receive market data from a commercially available market data service and produce a variety of outputs based on the incoming market data scenario. The purposes of this market data processing software can be wide ranging and the software potentially can react to a wide range of market data scenarios, such as a change in a treasury bill yield curve or a change in a relationship between the prices of two securities.
A problem inherent with the development of such market data processing software applications is that it is difficult to verify in advance of actual use of the software application that the application will react appropriately in response to a detected market condition. Currently, the only way to test the performance of such market data processing software is to wait for the desired market condition to occur, and then observe the behavior of the software in response to it.